function animate(obj, target, callback) {
    clearInterval(obj.timer);
    obj.timer = setInterval(function () {
        // 步长值写到定时器里面
        // 把步长值改为整数  不要出现小数问题
        // Math.ceil 向上取整
        // var step = Math.ceil((target - obj.offsetLeft) / 10);
        var step = (target - obj.offsetLeft) / 10;
        step = step > 0 ? Math.ceil(step) : Math.floor(step);
        // 停止条件没必要再用 <= 了 ==就行
        if (obj.offsetLeft == target) {
            // 停止动画 本质是停止定时器
            clearInterval(obj.timer);

            // 回调函数写在定时器结束里面
            if (callback) {
                callback();
            }
        } else {
            // 把每次加1 这个步长值改为一个慢慢变小的值  步长公式：(目标值 - 现在的位置)/10
            obj.style.left = obj.offsetLeft + step + 'px';
        }
    }, 15)
}